package action;

import java.util.*;

import javax.servlet.http.*;

import model.*;
import DAO.*;

public class BoardListAction implements Action {

	@Override
	public ActionForward execute(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		//db에서 list를 불러와서 jsp에 보내는 역할 p402
		BoardDAO boarddao = new BoardDAO();
		List<Board> boardList = new ArrayList<Board>();
		
		int page = 1; // 기본값, 리스트페이지를 열면 1페이지가 열림
		int limit = 10; // 한 페이지당 10개씩 나옴
		
		if(request.getParameter("page")!=null){
			page = Integer.parseInt(request.getParameter("page"));
		}
		int listCount = boarddao.getListCount(); //글의 수
		boardList = boarddao.getBoardList(page, limit);
		
		//목록 넘버를 만듬
		//페이지 맥스값 : (총글의수-1)/페이지수+1
		int maxpage = (listCount-1)/limit+1;
		int startpage = (int)(((page/10+0.9)-1)*10+1);
		int endpage = startpage+10-1;
		if(endpage>maxpage)
			endpage=maxpage;
		
		System.out.printf("\n maxpage:%d, startpage:%d, endpage:%d", maxpage,startpage, endpage);
		
		request.setAttribute("page", page); // 현재 페이지 수
		request.setAttribute("maxpage", maxpage); //최대 페이지 수
		request.setAttribute("endpage", endpage);
		request.setAttribute("listcount", listCount); // 글 수
		request.setAttribute("boardlist", boardList); // 데이터
		
		//어떤 jsp에게 어떤 방식으로 이동할지
		ActionForward forward = new ActionForward();
		forward.setRedirect(false); // 직접 이동
		forward.setPath("./board/qna_board_list.jsp");
		
		return forward;
	}

}
